/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package ar.edu.unicen.twitter.suggest.backend.dtos;

import ar.edu.unicen.twitter.suggest.commons.dtos.Usuario;
import ar.edu.unicen.twitter.suggest.commons.tools.CollectionsOperations;
import java.net.URL;
import java.util.Collection;
import java.util.Date;
import java.util.List;
import java.util.Set;

/**
 *
 * @author Alex
 */
public abstract class UsuarioDatasetAbstracto extends Usuario{
private static final long serialVersionUID = 8634986793341581317L;
    long id;

    public UsuarioDatasetAbstracto(long id2) {
        this.id = id2;
    }

    @Override
    public boolean equals(Object o1) {
        if (o1 instanceof Usuario && id == ((Usuario) o1).getId()) {
            return true;
        }
        return false;
    }

    @Override
    public long getId() {
        return id;
    }

    @Override
    public int hashCode() {
        return Usuario.calculateHashCode(id);
    }

    @Override
    public boolean isProtected() {
        return false;
    }
    abstract List<TweetApi> getTw();

    public abstract int[] getFollowersShortIds();
    public abstract int[] getFollowsShortIds();

    @Override
    public Collection<Usuario> getFollowers() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    @Override
    public Collection<Usuario> getFollows() {
        throw new UnsupportedOperationException("Not supported yet."); //To change body of generated methods, choose Tools | Templates.
    }

    public abstract Set<Integer> getFollowSet() ;

    public abstract Set<Integer> getFollowerSet();


    
}
